% 笔记LaTeX模板
% 适用于技术笔记、学习笔记等

\documentclass[UTF8,a4paper]{ctexart}
\usepackage{geometry}
\geometry{left=2.5cm,right=2.5cm,top=2.5cm,bottom=2.5cm}

% 数学相关包
\usepackage{amsmath}
\usepackage{amssymb}
\usepackage{amsthm}
\usepackage{bm}

% 代码环境
\usepackage{listings}
\usepackage{xcolor}

% 图表相关
\usepackage{graphicx}
\usepackage{caption}
\usepackage{subcaption}
\usepackage{float}

% 超链接
\usepackage{hyperref}
\hypersetup{
    colorlinks=true,
    linkcolor=blue,
    filecolor=magenta,      
    urlcolor=cyan,
    pdftitle={笔记模板},
    pdfpagemode=FullScreen,
}

% 页眉页脚
\usepackage{fancyhdr}
\pagestyle{fancy}
\fancyhf{}
\fancyhead[L]{\leftmark}
\fancyhead[R]{\rightmark}
\fancyfoot[C]{\thepage}

% 代码样式设置
\lstset{
    backgroundcolor=\color{gray!10},
    basicstyle=\ttfamily\small,
    breaklines=true,
    captionpos=b,
    commentstyle=\color{green!50!black},
    frame=single,
    keywordstyle=\color{blue},
    numbers=left,
    numberstyle=\tiny\color{gray},
    showstringspaces=false,
    stringstyle=\color{red},
    tabsize=4,
    xleftmargin=2em,
    xrightmargin=2em
}

% 定理环境
\newtheorem{theorem}{定理}[section]
\newtheorem{lemma}[theorem]{引理}
\newtheorem{corollary}[theorem]{推论}
\newtheorem{proposition}[theorem]{命题}
\newtheorem{definition}[theorem]{定义}
\newtheorem{example}[theorem]{示例}
\newtheorem{remark}[theorem]{备注}

% 自定义命令
\newcommand{\code}[1]{\texttt{#1}}
\newcommand{\file}[1]{\texttt{#1}}
\newcommand{\email}[1]{\href{mailto:#1}{\texttt{#1}}}
\newcommand{\todo}[1]{\textcolor{red}{[TODO: #1]}}

\begin{document}

% 标题页
\title{Geometic and Solid Modeling}
\author{蒋元成}
\date{\today}
\maketitle

% 摘要
\begin{abstract}
这里是摘要内容，简要描述本笔记的主要内容和目的。
\end{abstract}

% 目录
\tableofcontents
\newpage

% 正文开始
\section{引言}
这里是引言部分，介绍笔记的背景和目的。

\section{Bool操作}

\subsection{表示约定}
这里是第一个子节的内容。

可以使用数学公式：
\begin{equation}
E = mc^2
\end{equation}

或者行内公式：$f(x) = x^2 + 2x + 1$

\subsection{代码示例}
这里是一个代码示例：

\begin{lstlisting}[language=C++,caption=C++示例代码]
#include <iostream>
#include <vector>

int main() {
    std::vector<int> numbers = {1, 2, 3, 4, 5};
    for (int num : numbers) {
        std::cout << num << " ";
    }
    std::cout << std::endl;
    return 0;
}
\end{lstlisting}

\subsection{列表环境}
\begin{itemize}
    \item 项目1
    \item 项目2
    \item 项目3
\end{itemize}

\begin{enumerate}
    \item 第一项
    \item 第二项
    \item 第三项
\end{enumerate}

\subsection{表格示例}
\begin{table}[H]
\centering
\caption{示例表格}
\begin{tabular}{|c|c|c|}
\hline
列1 & 列2 & 列3 \\
\hline
数据1 & 数据2 & 数据3 \\
数据4 & 数据5 & 数据6 \\
\hline
\end{tabular}
\end{table}

\section{定理环境示例}

\begin{definition}[极限]
设函数 $f(x)$ 在点 $a$ 的某个去心邻域内有定义，如果存在常数 $L$，使得对于任意 $\epsilon > 0$，存在 $\delta > 0$，当 $0 < |x - a| < \delta$ 时，有 $|f(x) - L| < \epsilon$，则称 $L$ 为函数 $f(x)$ 当 $x$ 趋于 $a$ 时的极限。
\end{definition}

\begin{theorem}[中值定理]
如果函数 $f(x)$ 在闭区间 $[a,b]$ 上连续，在开区间 $(a,b)$ 内可导，则存在一点 $\xi \in (a,b)$，使得
\[
f'(\xi) = \frac{f(b) - f(a)}{b - a}
\]
\end{theorem}

\section{总结}
这里是总结部分，回顾笔记的主要内容和收获。

% 参考文献
\begin{thebibliography}{99}
\bibitem{ref1} 作者. 标题[J]. 期刊名, 年份, 卷(期): 起止页码.
\bibitem{ref2} 作者. 书名[M]. 出版地: 出版社, 出版年份.
\end{thebibliography}

% 附录
\appendix
\section{附录A}
这里是附录内容。

\end{document}
